package com.hwl.server.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hwl.server.entity.Admin;
import com.hwl.server.entity.Role;
import com.hwl.server.pojo.RespBean;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author long
 * @since 2021-11-28
 */
public interface AdminService extends IService<Admin> {

    /**
     * 登录返回token
     */
    RespBean login(String username, String password, String code, HttpServletRequest request);

    /**
     * 根据用户名获取用户
     */
    Admin getAdminByUserName(String username);

    /**
     * 根据用户id查询角色列表
     */
    List<Role> getRoles(Integer adminId);

    /**
     * 获取除自己以外的操作员以及他们所拥有的角色
     */
    List<Admin> getAllAdmin(String keyword);

    /**
     * 更新操作员角色
     */
    RespBean updateAdminRole(Integer adminId, Integer[] rids);

    /**
     * 更新用户密码
     */
    RespBean updateAdminPassword(String oldPass, String pass, Integer adminId);
}
